In music, a pitch is the position of a tone in the musical scale; it is by convention designated by a letter name and determined by the fundamental frequency of vibration of the source of the tone. An international conference held in 1939 set a standard for A above middle C of 440 cycles per second (440 Hz). The inverse of a fundamental frequency is the period corresponding to the waveform of that tone. Thus, by changing the period of a waveform, the pitch of a tone can be shifted. This is the so-called pitch shifting method to change music tones.
Recently, wavetable has become one of the most commonly used tools in synthesizing and providing high quality music sounds. One of the key elements of this technology involves methodologies which can provide best music sounds utilizing a minimum size of the wavetable. In applying the wavetable technology, only a small number of music tones are stored in digital forms for each music instrument in the wavetable, and other tones are synthesized via pitch shifts. Furthermore, in order to minimize the data storage requirement, the digital music tone data are typically compressed before storage.
Currently, the most common method providing pitch shifting involves a procedure which resamples the stored wavetable data at a different rate, coupled with an appropriate interpolation. Discussions of this procedure can be found, for example, in U.S. Pat. Nos. 5,131,042; 5,296,643; and 5,477,003, the contents thereof are incorporated by reference. This resampling procedure alters the period of the original tone by lengthening or shortening the period, and causes the pitch thereof to be shifted as a result. The resampling procedure can be effectuated by either changing the input (resampling) or the output (playback) rate.
The conventional pitch-shifting method can be illustrated in FIGS. 1A and 1B. FIG. 1A shows the original waveform and sampling points x.sub.0, x.sub.1, x.sub.2, . . . , x.sub.10, etc. To increase the pitch by an octave (i.e., eight diatonic degrees), the fundamental frequency will be doubled, i.e., its period will be reduced by one-half. The conventional method accomplishes the pitch-shifting procedure by sampling the original waveform at twice the original speed, at x.sub.0, x.sub.2, x.sub.4, . . . , X.sub.10, etc., as shown in FIG. 1B. A new waveform is obtained after this resampling procedure which exhibits a period that is one-half of the period of the original waveform as shown in FIG. 1A. This procedure can be generalized for other arbitrary frequency ratios. For example, for a waveform with a fundamental frequency of F.sub.0 Hz, a new waveform with a different fundamental frequency of F'.sub.0 Hz can be synthesized by resampling the original waveform at a rate of F'.sub.0 /F.sub.0. In other words, a new waveform with a fundamental frequency of F'.sub.0 Hz can be synthesized by scaling the original waveform at a scaling ratio of F'.sub.0 /F.sub.0. When the scaling ratio is not an integer, linear interpolation technique is typically utilized during the resampling, so as to improve the accuracy thereof. FIG. 2 shows a block diagram of the conventional scaling procedure utilizing linear interpolation. A source waveform (e.g., trp57) is processed through the resampler-interpolator to obtain a synthesized waveform (e.g., a00). The resampler-interpolator performs the function of "spectral scaling".
Because of its simplicity and ease of implementation, the resampling method discussed above has been widely utilized in the industry. However, it has been observed that the conventional resampling procedure, which involves a scaling of the sound period, also causes the spectral envelop of the original music tone to be distorted. In order to maintain high fidelity and reduce the amount of distortion, some high-end instruments have refrained from shifting pitches over a large range, However, this causes the size of the wavetable, thus the required memory storage space, to be substantially increased.
In an article entitled "An Efficient Method for Pitch Shifting Digitally Sampled Sound," by K. Lent, Computer Music Journal, vol. 13, No. 4, pp. 65-71 (1989), the content thereof is herein incorporated by reference, it was disclosed a technique by which the period of a waveform is changed by inserting some "samples" to, or cutting some samples from, the period of the original waveform. This method, in theory, will not change the envelop of the frequency spectrum, thus allowing the timbre of the sound to be maintained. However, the questions involving, for example, where to lengthen or shorten the period, how to maintain smoothness at places where such insertion or cutting had occurred, and how to provide an appropriate truncation window as well as determining the values when the period is lengthened, etc., require relatively complicated computations. Thus this method has remained largely an academic interest and may not be considered practical for industrial applications.